পিএইচপি শক্তিশালি ল্যাঙ্গুয়েজ হওয়ার মূল কারণই হচ্ছে এর ফাংশন। কেননা পিএইচপিতে ১০০০ এর বেশি নিজস্ব(built-in) ফাংশন রয়েছে এবং এর সংখ্যা দিন দিন বেড়েই চলেছে।


পিএইচপি ইউজার কর্তৃক ফাংশন

পিএইচপির নিজস্ব ফাংশন থাকা সত্ত্বেও আমরা আমাদের প্রয়োজন অনুযায়ী ফাংশন তৈরি করতে পারি।

ফাংশন হচ্ছে একগুচ্ছ স্টেটমেন্ট যাকে আমরা প্রোগ্রামের মধ্যে বার বার ব্যবহার করতে পারি।

ফাংশন নিজে নিজে সম্পাদিত(execute) হয় না।

ফাংশনকে সম্পাদন(execute) করতে হলে অবশ্যই কল(call) করতে হবে।


পিএইচপিতে ইউজার কর্তৃক ফাংশন তৈরি

পিএইচপি ফাংশন তৈরি করতে প্রথমে "function" কী-ওয়ার্ড লিখতে হয় এর পরে ফাংশন এর নাম এর পরে () এবং {}

সিনট্যাক্স(Syntax)

kt_satt_skill_example_id=56

নোটঃ letter অথবা underscore দিয়ে ফাংশনের নাম শুরু হয়

টিপসঃ আপনার কাজের সাথে সঙ্গতি রেখে ফাংশনের নাম দিন!

পিএইচপিতে ফাংশনের নাম case-sensitive নয়।

নিচের উদাহরণে আমরা "welcomeMsg()" নামে একটি ফাংশন তৈরি করবো। ওপেনিং দ্বিতীয় বন্ধনীর(curly brace){ মাধ্যমে ফাংশনের কোড শুরু হয় এবং ক্লোজিং দ্বিতীয় বন্ধনীর(curly brace) } মাধ্যমে ফাংশন শেষ হয়। ফাংশনকে কল করার জন্য শুধু ফাংশনের নাম লিখতে হয়ঃ

kt_satt_skill_example_id=57


পিএইচপি ফাংশন প্যারামিটার

প্যারামিটারের মাধ্যমে ফাংশনে তথ্য সরবরাহ করা হয়। পিএইচপিতে প্যারামিটার ভ্যারিয়েবল এর মতই।

ফাংশনের নামের পরে প্রথম বন্ধনী()-র মধ্যে প্যারামিটার রাখা হয়। আপনার দরকার অনুযায়ী যত খুশি প্যারামিটার ব্যবহার করতে পারবেন, শুধু কমা(,) চিহ্নের মাধ্যমে প্যারামিটারগুলোকে আলাদা করতে হবে।

নিচের উদাহরণে ফাংশনের মধ্যে ১টি প্যারামিটার $name ব্যবহার করা হয়েছে। familyMember ফাংশনকে কল করার সময় এর মধ্যে প্যারামিটারের বিভিন্ন ভ্যালু যেমন- Azizur ব্যবহার করা হয়েছে, যার মাধ্যমে দ্বিতীয় নাম একই রেখে ভিন্ন ভিন্ন প্রথম নামের আউটপুট পাওয়া যায়ঃ

kt_satt_skill_example_id=58

নিচের ফাংশনে ২টি প্যারামিটার $name এবং $birthYear ব্যবহার করা হয়েছেঃ

kt_satt_skill_example_id=59


ডিফল্ট প্যারামিটার ভ্যালু

নিচের উদাহরণের সাহায্যে দেখবো কিভাবে ডিফল্ট(default) প্যারামিটার ব্যবহার করা হয়। যদি setNumber() ফাংশনকে কোনো ধরণের আর্গুমেন্ট ভ্যালু সরবরাহ না করি তাহলে এর ডিফল্ট ভ্যালু গ্রহণ করেঃ

kt_satt_skill_example_id=60

পিএইচপি রিটার্ন ভ্যালু

ফাংশন থেকে ভ্যালু রিটার্ন করার জন্য return স্টেটমেন্ট ব্যবহার করা হয়ঃ 

kt_satt_skill_example_id=61

 

Promotion